#include "../include/myjson.h"

/**
 * 判断输入的字符串是否是json格式
 * 返回0 是json  -1 不是json
 */
int is_valid_json(const char *json_string)
{
    cJSON *json = cJSON_Parse(json_string);
    if (json != NULL)
    {
        cJSON_Delete(json);
        return 0;
    }
    else
    {
        return -1;
    }
}

/**
 * 判断接收到的字符串是否匹配
 * 返回0 匹配
 */
int my_is_json(const char *json_string)
{
    if(json_string == NULL)
        return -1;

    int val[2] = {0};
    int flags = 0;
    for (int i = 0; i < strlen(json_string); i++)
    {
        if(json_string[i] == '{')
        {
            val[0]++;
        } 
        else if(json_string[i] == '}')
        {
            val[0]--;
        }
        else if(json_string[i] == '"')
        {
            flags == 0 ? val[1]++ : val[1]--;
            flags ^= 1;
        }
    }
    
    if(val[0] == 0 && val[1] == 0)
        return 0;
    else
        return -1;
}

